home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Extra 1996 #2
/
Amiga Plus CD - 1996 - No. 2 Extra.iso
/
clarissa1_1-demo
/
macros
/
stroboskop.clssa
< prev
next >
Wrap
Text File
|
1995-01-26
|
3KB
|
118 lines
/***********************************************************************
GADGET: "'Stroboskop'" "6" AUTO TYP: "?"
$DAT >>Stroboskop.clssa<< 05.10.1992 - (C) ProDAD Holger Burkarth
20.01.1995 - (C) ProDAD Michael Christoph
************************************************************************/
Options Results
Address clariSSA
FailAt 10
AltFail=RESULT
GetArea
PARSE VAR RESULT . "FROM" von "TO" bis .
von=Strip(von)
Anzahl=bis-von
IF Anzahl>3 THEN DO
DO FOREVER
GetAnimInfo
PARSE VAR RESULT . "FORMAT" x y t "VIEWMODE" ViewMode .
AnzFarben=2**t - 1
COLRequest "Register 0 TITLE '*** Strobefarbe ***''''Strobefarbe festlegen.'"
IF RC~=0 THEN LEAVE
StrobFarbe=RESULT
MSRequester "TITLE '*** Stroboskop ***'",
"''",
"'Bezugsfarbe zur Blitzerzeugung wählen.'",
"PTEXT 'Bezugsfarbe frei wählen + Blackstrobe'",
"'Bezugsfarbe frei wählen'",
"'Bezugsfarbe weiß + Blackstrobe'",
"'Bezugsfarbe weiß'"
IF RC~=0 THEN LEAVE
IF RESULT > 2 THEN DO
StrobArt=RESULT-2
BezR=255
BezG=255
BezB=255
END
ELSE DO
StrobArt=RESULT
COLRequest "Register 0 TITLE '*** Strobefarbe ***''''Bezugsfarbe festlegen.'"
IF RC~=0 THEN LEAVE
BezFarbe=RESULT
GetColor BezFarbe
PARSE VAR RESULT x BezR BezG BezB
END
INTRequest "'Geben Sie bitte die Anzahl''der Strobs ein.''<< zwischen 1 und "Anzahl" >>'"Anzahl-2
IF RC~=0 THEN LEAVE
AnzStrob=RESULT
IF AnzStrob < 1 | AnzStrob > Anzahl THEN DO
Message "'Eingegebener Wert ist''nicht zulässig!'"
LEAVE
END
BOOLRequest "'Animationsfarben ändern?''Anim: Master''<< von "von" bis "bis" >>'"
IF RC~=0 | RESULT="NO" THEN LEAVE
RequestStatus OFF
zz=1
Lim=Anzahl/AnzStrob
DO UNTIL von>bis
IF zz > Lim THEN DO
zz=0; fa=1
END
ELSE fa=0
ViewFrame COPS von
IF RC~=0 THEN LEAVE
IF StrobArt=1 THEN DO
l=0
Liste=""
DO UNTIL l>AnzFarben
GetColor l
PARSE VAR RESULT x r g b
IF l=StrobFarbe THEN DO
r=r+(BezR-r)*fa
g=g+(BezG-g)*fa
b=b+(BezB-b)*fa
END; ELSE DO
r=r*fa
g=g*fa
b=b*fa
END
Liste=Liste l r g b
l=l+1
END
SetColor Liste
END
ELSE IF StrobArt=2 THEN DO
GetColor StrobFarbe
PARSE VAR RESULT x r g b
r=r+(BezR-r)*fa
g=g+(BezG-g)*fa
b=b+(BezB-b)*fa
SetColor StrobFarbe r g b
END
Record COPS
IF RC~=0 THEN LEAVE
von=von+1
zz=zz+1
END
RequestStatus ON
LEAVE
END
END
ELSE Message "'Für einen Strobe-Effekt müssen''min. 4 Frames ausgewählt werden.'"
FailAt AltFail
exit